<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
    let arr1 = [1,2,3,4,5]
    let arr2 = [2,3,4,45,6]
    console.log(...arr1)//展开一个数组
    let arr3 = [...arr1, ...arr2]//连接数组
    console.log(arr3)
    
    //在函数中使用
    function sum(...numbers){//接受不定个数的参数
        console.log('@',numbers)
        //使用数组的reduce方法来计算数组的和
        return numbers.reduce((prevalue,currentvalue)=>{
            return prevalue  + currentvalue
        })
    }
    console.log(sum(1,2,3,4))

    
    let person = {name:"Tom", age:19}
    //console.log(...person)//会报错，三点运算符不能展开一个对象,但是在babel里面是可以的
    //但是（也不能随意地使用，仅仅适用于标签对象的使用）
    //这里person2和person共用一个地址
    //let person2 = person
    let person2 = {...person} //外面包了一个花括号，是新语法
    console.log(person2)

    let person3 = {...person,name:"jack",address:"地球"}
    console.log(person3)




    </script>
</body>
</html>